//Grunt 的入口文件
//用于定于一些 Grunt 自动执行的任务
// 需要导出一个函数
// 此函数接收一个grunt的形参， 内部提供一些创建任务可以用到的API

module.exports = grunt => {

    
    grunt.registerTask('foo', () => {
        console.log('hello gurunt~')
    })

    grunt.registerTask('bar', '任务描述' , () => {
        console.log('other task~')
    })

    // grunt.registerTask('default', () => {
    //     console.log('default task~')
    // })

    //默认任务 ，第二个参数数组，grunt会依次执行这些任务
    grunt.registerTask('default', ['foo', 'bar'])

    //grunt 异步任务
    grunt.registerTask('async-task', function () {
        const done = this.async()
        setTimeout(() => {
            done()
            console.log('async task working')
        }, 1000);
    })

    //失败任务
    grunt.registerTask('bad', () => {
        console.log('bad working~')
        return false
    })    

    grunt.registerTask('bad-async', function() {
        const done = this.async()
        setTimeout(() => {
            done(false)
            console.log('bad-async task working')
        }, 1000);
    })
}